package com.wzy.sxcg.service.impl;

import java.util.List;
import com.wzy.common.utils.DateUtils;
import com.wzy.xxgl.domain.XxglSxxx;
import com.wzy.xxgl.mapper.XxglSxxxMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.wzy.sxcg.mapper.SxcgSxcjMapper;
import com.wzy.sxcg.domain.SxcgSxcj;
import com.wzy.sxcg.service.ISxcgSxcjService;

/**
 * 实习成绩Service业务层处理
 * 
 * @author wzy
 * @date 2025-10-22
 */
@Service
public class SxcgSxcjServiceImpl implements ISxcgSxcjService 
{
    @Autowired
    private SxcgSxcjMapper sxcgSxcjMapper;

    @Autowired
    private XxglSxxxMapper xxglSxxxMapper;

    /**
     * 查询实习成绩
     * 
     * @param sxcjId 实习成绩主键
     * @return 实习成绩
     */
    @Override
    public SxcgSxcj selectSxcgSxcjBySxcjId(Long sxcjId)
    {
        return sxcgSxcjMapper.selectSxcgSxcjBySxcjId(sxcjId);
    }

     /**
     * 根据学生ID查询实习成绩
     *
     * @param studentId 学生主键
     * @return 实习成绩
     */
    @Override
    public SxcgSxcj selectSxcgSxcjByStudentId(Long studentId)
    {
        return sxcgSxcjMapper.selectSxcgSxcjByStudentId(studentId);
    }

    /**
     * 查询实习成绩列表
     * 
     * @param sxcgSxcj 实习成绩
     * @return 实习成绩
     */
    @Override
    public List<SxcgSxcj> selectSxcgSxcjList(SxcgSxcj sxcgSxcj)
    {
        return sxcgSxcjMapper.selectSxcgSxcjList(sxcgSxcj);
    }

    /**
     * 新增实习成绩
     * 
     * @param sxcgSxcj 实习成绩
     * @return 结果
     */
    @Override
    public int insertSxcgSxcj(SxcgSxcj sxcgSxcj)
    {
        // 新增实习成绩
        sxcgSxcj.setCreateTime(DateUtils.getNowDate());
        sxcgSxcjMapper.insertSxcgSxcj(sxcgSxcj);
        // 更新学生实习状态
        XxglSxxx  xxglSxxx = new XxglSxxx();
        xxglSxxx.setStudentId(sxcgSxcj.getStudentId());
        xxglSxxx.setSxStatus("yjs");
        return  xxglSxxxMapper.updateXxglSxxx(xxglSxxx);
    }

    /**
     * 修改实习成绩
     * 
     * @param sxcgSxcj 实习成绩
     * @return 结果
     */
    @Override
    public int updateSxcgSxcj(SxcgSxcj sxcgSxcj)
    {
        sxcgSxcj.setUpdateTime(DateUtils.getNowDate());
        return sxcgSxcjMapper.updateSxcgSxcj(sxcgSxcj);
    }

    /**
     * 批量删除实习成绩
     * 
     * @param sxcjIds 需要删除的实习成绩主键
     * @return 结果
     */
    @Override
    public int deleteSxcgSxcjBySxcjIds(Long[] sxcjIds)
    {
        return sxcgSxcjMapper.deleteSxcgSxcjBySxcjIds(sxcjIds);
    }

    /**
     * 删除实习成绩信息
     * 
     * @param sxcjId 实习成绩主键
     * @return 结果
     */
    @Override
    public int deleteSxcgSxcjBySxcjId(Long sxcjId)
    {
        return sxcgSxcjMapper.deleteSxcgSxcjBySxcjId(sxcjId);
    }
}
